
The Motion Inheritance Operator is intended to create
effects where objects interact with particles. Any 3ds Max object can
affect particles or particle Groups in thinkingParticles. Any 3ds
Max object can also control or add its speed or rotation to a
set of particles. A good example of this is seeing bubbles being swept
through a propeller on a boat. The motion of the particles is driven by
the rotation of the prop, and in thinkingParticles, instead of having
to "fake" such an effect, you can use real physics to achieve
it instead.
The Motion Inheritance physics are controlled by advanced 3D force field curves that will be explained below.
ON - (Bool) This input data
stream determines whether the operator is considered 'on' or 'off'. You
can connect other operators to this input channel such as a Bool
Helper to activate/deactivate the whole operator.
Time - (Time) This input data stream is used to define the local
time for the operator when the user wants to override the default system
time.
Particle - (Particle) This input data stream reads in the currently
selected particle group that is to have its particles influenced by the
object piped in through the Node input data stream. The data stream MUST
be connected and will be highlighted yellow if it is not.
Node - (Node) This input data stream is used to get the selected
object by which the particles are to be influenced. The data stream MUST
be connected and will be highlighted yellow if it is not.
Inheritance - (Scalar) This input data stream is used to override
the Inheritance [%] spinner value.
Motion Variation - (Scalar) This input data stream is used to
override the Variation [%] spinner value (the one directly beneath the
Inheritance spinner).
Rotation Inheritance - (Scalar) This input data stream is used
to override the Rotational Inh.[%] spinner value.
Rotation Variation - (Scalar) This input data stream is used to
override the Variation [%] spinner value (the one directly beneath the
Rotation Inh. spinner).
Direction Variation - (Angle) This input data stream is used to
override the Direction [*] angular spinner value.
Distance Type - (Integer) This input data stream takes an integer
value that represents the force field boundary type that will control
the selected object's influence over the particles. Valid input values
are 0 through 2, where:
Radius - (Scalar) This input
data stream is used to override the Radius spinner value.
Radius Gradient - (Alpha Gradient) This input data stream is used
to override the Gradient used for the Radial influence of the Motion Inheritance.
Be aware that this gradient is only valid when the Distance type is set
to Sphere.
Cylinder Axis - (Integer) This input data stream takes an integer
value that represents the Primary Axis for a cylinder that is to surround
the selected object. Valid input values are 0 through 2, where:
Cylinder Height - (Scalar)
This input data stream is used to override the Cylinder Height spinner
value.
Height Gradient - (Alpha Gradient) This input data stream is used
to override the Gradient used for the height influence of the Motion Inheritance.
Be aware that this gradient is only valid when the Distance type is set
to Cylinder.
Scale Gradient - (Alpha Gradient) This input data stream is used
to override the Gradient used for the scale influence of the Motion Inheritance.
Be aware that this gradient is only valid when the Distance type is set
to Cylinder.
No Operator Outputs.

Inheritance [%] - This spinner controls the amount of particle
influence an object has. A value of 100 means that 100% of the speed and
rotation is taken from the object that is piped into the Node
input data stream.
Variation [%] - If you do not want all particles to be influenced
by the exact same amount as set in the Inheritance % spinner, increase
the Variation % up to 100 to give the particle motion some additional
randomness.
Rotation Inh [%] - The Rotational Inheritance spinner determines
how much of the rotational information is passed along to the individual
particles. When doing particle animations that involve rotating objects
(such as fans or propellers), generally you'll want to have some of that
rotational information passed along to the individual particles. When
set to 0.0, particles will be affected by the motion, but individual particles
will not rotate.
Variation [%] - If you do not want all particles to be influenced
by the exact same amount as set in the Rotation Inh % spinner, increase
the Variation % up to 100 to give the particle rotations some additional
randomness.
Dir. Variation [*] - Usually the direction is taken from the object
- that is, assigned to the IDS-Node connector. For example, when the object
moves to the right the particles move to the right (100% inheritance assumed).
Increase this value to create a spread out effect and give the particles
a random direction when they start interacting with the object.
Distance Type - In order to create Motion Inheritance, you will
use a force field or boundary that will define the area
within which to check for the inheritance. You may select one of three
force field types that should encompass the object being used to determine
Motion Inheritance.
None - If you select this option, the boundary will have no falloff
function, and all particles are affected by the same amount as is set
in the Inheritance % parameter.
Sphere - Selecting this option creates a spherical force field
boundary around the object that should interact with the particles. The
Falloff Gradient Ramp directly beneath this dropdown menu will control
the influence falloff. This falloff is calculated from the center of the
sphere to the outer edge. The gradient ramp reads left to right and corresponds
as follows: the left edge of the gradient represents the center of the
sphere, while the right edge of the gradient represents the outer edge
of the sphere.
Cylinder - Selecting this option creates a cylindrical force field
boundary around the object that should influence the particles. In this
case, both falloff gradients are used to control the
Motion Inheritance influence falloff in the X and Y directions.
Radius - This spinner defines the radius of the objects force
field boundary (the volume of influence).
Gradient Ramp - When Distance Type is set to Sphere, you may set
the influence falloff from center to the outer edges of the sphere volume.
The gradient works like this: The left hand side of the gradient controls
the influence amount in the center and the right hand side of the gradient
controls the influence amount at the outer edges of the volume. A pure
white color will use the value as it is set in the Inheritance % parameter.
A pure black color will switch off any object influence. All grays cale
values in between both colors will create intermediate influence amounts.
Cylinder Axis - These three options allow you to control the orientation
of the cylinder volume.
IMPORTANT: You MUST set the Distance Type to
Cylinder to make these parameters work. The cylinder volume is then displayed
in the view port as a wire frame cylinder.
Cylinder Height - This parameter controls the height of the cylindrical
volume of influence. You can see in the view ports the actual size of
the volume as it is displayed as a wire-frame cylinder around the object
that is chosen to interact with the particles.
Gradient Ramp - Use the gradient ramp below the Cylinder Height
spinner to set the falloff amount of the influence the object has along
the length of the cylinder volume as shown below.

Cylinder Scale - This gradient controls the falloff amount as
seen from the center to the outer radial edges of the cylinder (see the
illustration below). The gradient colors/ramps work like described above.
